linux command

sed

Linux Command – sed ใช้ในการเปลี่ยนแปลงข้อมูล text ที่มีรูปแบบซับซ้อน

 

คำสั่ง

ตัวอย่าง file1

$ cat file1
aaaaaaaaaaa
bbbbbbbbbbb
ccccccccccc
ddddddddddd
eeeeeeeeeee
fffffffffff
ggggggggggg

 

1. ใช้เพิ่มบรรทัดใหม่ทุกๆบรรทัด และเขียนลง file2

$ sed G file1 > file2
$ cat file2 |sed G
aaaaaaaaaaa

bbbbbbbbbbb

ccccccccccc

ddddddddddd

eeeeeeeeeee

fffffffffff

ggggggggggg

 

2. จัดบรรทัดให้ขึ้นมาติดกันด้วย . และ space

$ cat file1 | sed 'N;s/\n/\. /'
aaaaaaaaaaa. bbbbbbbbbbb
ccccccccccc. ddddddddddd
eeeeeeeeeee. fffffffffff
ggggggggggg

 

3. ทำการเปลี่ยนข้อความด้วยข้อความใหม่

$ sed 's/ddddddddddd/sed/g' file1
aaaaaaaaaaa
bbbbbbbbbbb
ccccccccccc
sed
eeeeeeeeeee
fffffffffff
ggggggggggg

 

โครงสร้างคำสั่ง

 sed [OPTION]... {script-only-if-no-other-script} [input-file]...

 

รายละเอียด

เป็นคำสั่งที่ใช้ในการเปลี่ยนแปลงข้อมูล text ที่มีรูปแบบซับซ้อน โดยสามารถรับข้อมูลจากทั้งการอ่าน file หรือ ข้อมูลจาก pipeline (|)

รูปแบบ syntax  ‘s/regexp/replacement/flags

  • s คือ substitute
  • / คือ เป็น regular expression ของ s สามารถเปลี่ยนเป็น อักษรอื่นได้

 

Option

 -n, --quiet, --silent

 suppress automatic printing of pattern space

 -e script, --expression=script

 add the script to the commands to be executed

 -f script-file, --file=script-file

 add the contents of script-file to the commands to be executed

 --follow-symlinks

 follow symlinks when processing in place

 -i[SUFFIX], --in-place[=SUFFIX]

 edit files in place (makes backup if SUFFIX supplied)

 -l N, --line-length=N

 specify the desired line-wrap length for the `l' command

 --posix

 disable all GNU extensions.

 -r, --regexp-extended

 use extended regular expressions in the script.

 -s, --separate

 consider files as separate rather than as a single continuous long stream.

 -u, --unbuffered

 load minimal amounts of data from the input files and flush the output buffers more often

 -z, --null-data

 separate lines by NUL characters

 --help
 display this help and exit

 --version
 output version information and exit

 

กลุ่มคำสั่ง

awk(1), ed(1), grep(1), tr(1), perlre(1)

 

Reference:

คำสั่ง Unix – Linux Command

Linux, Unix

 

Author: Suphakit Annoppornchai

Credit: https://saixiii.com

One Thought to “sed – Linux Command คำสั่งเปลี่ยนแปลงข้อมูล text ที่มีรูปแบบซับซ้อน”

Leave a Reply